import org.aspectj.lang.annotation.SuppressAjWarnings;

public class AroundReturnType {
     public static void main(String[] args){
         new AroundReturnType().go();
     }

     void go(){
         System.out.println("... "+ s()  );
     }

     static Integer s() {
       return new Integer(1);
     }
}

aspect A {
	@SuppressAjWarnings("adviceDidNotMatch")
	void around(): within(AroundReturnType) && call(Integer AroundReturnType.s()){
    	System.out.println("s - advice");  
    	proceed();
    }

    Integer around(): within(AroundReturnType) && execution(* *(..)) {
    	proceed();
    	return new Integer(3);
    }
  
}
